package manager

import (
	"time"

	"gorm.io/gorm"
)

// TargetPlan 目标计划
type TargetPlan struct {
	HmID                 uint           `json:"hmID" form:"hmID" gorm:"column:hm_id;comment:;size:19;primarykey;AUTO_INCREMENT;"` //hmId字段
	CreatedAt            time.Time      // 创建时间
	UpdatedAt            time.Time      // 更新时间
	DeletedAt            gorm.DeletedAt `gorm:"index" json:"-"`                                                                                        // 删除时间
	ProBonoNum           uint           `json:"proBonoNum" form:"proBonoNum" gorm:"column:pro_bono_num;comment:公益服务人数;size:19;"`                       // 公益服务人数
	ProBonoStartTime     time.Time      `json:"proBonoStartTime" form:"proBonoStartTime" gorm:"column:pro_bono_start_time;comment:公益服务开始时间;"`          // 公益服务开始时间
	ProBonoEndTime       time.Time      `json:"proBonoEndTime" form:"proBonoEndTime" gorm:"column:pro_bono_end_time;comment:公益服务结束时间;"`                // 公益服务结束时间
	ProBonoCurrentNum    uint           `json:"proBonoCurrentNum"`                                                                                     // 当前公益服务人数
	IncrVipNum           uint           `json:"incrVipNum" form:"incrVipNum" gorm:"column:incr_vip_num;comment:新增会员人数;"`                               // 新增会员人数
	IncrVipStartTime     time.Time      `json:"incrVipStartTime" form:"incrVipStartTime" gorm:"column:incr_vip_start_time;comment:新增会员开始时间;"`          // 新增会员开始时间
	IncrVipEndTime       time.Time      `json:"incrVipEndTime" form:"incrVipEndTime" gorm:"column:incr_vip_end_time;comment:新增会员结束时间;"`                // 新增会员结束时间
	IncrVipCurrentNum    uint           `json:"incrVipCurrentNum"`                                                                                     // 当前新增会员人数
	ServiceVipNum        uint           `json:"serviceVipNum" form:"serviceVipNum" gorm:"column:service_vip_num;comment:服务会员人数;"`                      // 服务会员人数
	ServiceVipStartTime  time.Time      `json:"serviceVipStartTime" form:"serviceVipStartTime" gorm:"column:service_vip_start_time;comment:服务会员开始时间;"` // 服务会员开始时间
	ServiceVipEndTime    time.Time      `json:"serviceVipEndTime" form:"serviceVipEndTime" gorm:"column:service_vip_end_time;comment:服务会员结束时间;"`       // 服务会员结束时间
	ServiceVipCurrentNum uint           `json:"serviceVipCurrentNum"`                                                                                  // 当前服务会员人数
	ProBonoStatus        uint           `json:"proBonoStatus" form:"proBonoStatus" gorm:"column:pro_bono_status;comment:公益服务状态 0未创建 1进行中 2已结束;default:0;"`
	IncrVipStatus        uint           `json:"incrVipStatus" form:"incrVipStatus" gorm:"column:incr_vip_status;comment:新增会员状态 0未创建 1进行中 2已结束;default:0;"`
	ServiceVipStatus     uint           `json:"serviceVipStatus" form:"serviceVipStatus" gorm:"column:service_vip_status;comment:服务会员状态 0未创建 1进行中 2已结束;default:0;"`
}

func (TargetPlan) TableName() string {
	return "by_target_plan"
}
